package com.example.questionsystem.modules.qu.dto;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.annotation.JSONType;
import com.alibaba.fastjson.serializer.SerializerFeature;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.ArrayList;
import java.util.List;

// 主对象：试卷描述
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder(toBuilder = true)
public class PaperDesc {
    @JSONField(name = "Kmxh")
    private String Kmxh ;
    @JSONField(name = "TotalCount")
    private int TotalCount ;
    @JSONField(name = "TotalScore")
    private int TotalScore ;
    @JSONField(name = "TotalNeedCount")
    private int TotalNeedCount ;
    @JSONField(name = "MakeupPaperType")
    private int MakeupPaperType ;
    @JSONField(name = "JudgeCount")
    private int JudgeCount ;
    @JSONField(name = "JudgeNeedCount")
    private int JudgeNeedCount ;
    @JSONField(name = "SingleCount")
    private int SingleCount ;
    @JSONField(name = "SingleNeedCount")
    private int SingleNeedCount ;
    @JSONField(name = "MultiCount")
    private int MultiCount ;
    @JSONField(name = "MultiNeedCount")
    private int MultiNeedCount;
    @JSONField(name = "InMultiCount")
    private int InMultiCount ;
    @JSONField(name = "InMultiNeedCount")
    private int InMultiNeedCount ;
    @JSONField(name = "BlankCount")
    private int BlankCount ;
    @JSONField(name = "BlankNeedCount")
    private int BlankNeedCount ;
    @JSONField(name = "WriteCount")
    private int WriteCount ;
    @JSONField(name = "WriteNeedCount")
    private int WriteNeedCount ;
    @JSONField(name = "ComprehensiveCount")
    private int ComprehensiveCount;
    @JSONField(name = "ComprehensiveNeedCount")
    private int ComprehensiveNeedCount;
    @JSONField(name = "ShortAnswerCount")
    private int ShortAnswerCount;
    @JSONField(name = "ShortAnswerNeedCount")
    private int ShortAnswerNeedCount;
    @JSONField(name = "FileCount")
    private int FileCount ;

    private List<Object> listKnowledge = new ArrayList<>(); // 空列表

    private List<Object> listKnowledgeRule = new ArrayList<>(); // 空列表

    private List<QuesTypeSort> listQuesTypeSort ; // 初始化题型排序列表

    private List<QuesTypeAlias> listQuesTypeAlias; // 初始化题型别名列表

    private List<Object> listQuesFixedSort = new ArrayList<>(); // 空列表

    private List<QuesTypeMemo> listQuesTypeMemo ; // 初始化题型备注列表

    private int PaperCount ;

    private int RepeatCount;

}

